// 1.结合fs发送文件中的数据
// 2.Content-Type 
// 不同的资源对应的Content-Type是不一样的
// 图片不需要指定编码
// 一般只有字符数据才指定编码

var http = require('http')
var fs = require('fs')

var server = http.createServer()

server.on('request', function (request, response) {
    // index.html
    var url = request.url

    if (url === '/') {
        // 我们要发送的还是在文件中的内容
        fs.readFile('./resource/index.html', function (err, data) {
            if (err) {
                response.setHeader('Content-Type', 'text-plain;charset=utf-8')
                // response.end('文件读取失败，请稍后重试！')
                console.log('文件读取失败，请稍后重试！') // 比如说路径请求错了 ./resource/index111.html
                response.end(err)

            } else {
                // data默认是二级制数据，可以通过.toString转为咱们能识别的字符串
                // res.end() 支持两种数据类型,一种是二进制,一种是字符串
                response.setHeader('Content-Type', 'text-html;charset=utf-8')
                response.end(data)
            }
        })
    } else if (url === '/chaoren') {
        // url: 统一资源定位符
        // 一个url最终其实是要对应到一个资源的
        fs.readFile('./resource/1.jpg', function (err, data) {
            if (err) {
                response.setHeader('Content-Type', 'text-plain;charset=utf-8')
                response.end('文件读取失败，请稍后重试！')
            } else {
                // data默认是二级制数据，可以通过.toString转为咱们能识别的字符串
                // 图片就不需要指定编码了，因为我们常说的编码一般指的是字符编码
                response.setHeader('Content-Type', 'image/jpeg;charset=utf-8')
                response.end(data)
            }
        })
    }
})

server.listen(3000, function () {
    console.log('server is running ...')
})